package edu.zjut.hjg.saas.biz.dao;

import edu.zjut.hjg.saas.biz.model.Kindergarten;
import edu.zjut.hjg.saas.biz.support.AppStatus;
import edu.zjut.hjg.saas.biz.support.Paginated;

public interface KindergartenDao {
    Kindergarten load(Integer id);

    Kindergarten findBySiteDomain(String siteDomain);

    Kindergarten findByTenantId(Integer tenantId);

    Integer create(Kindergarten kindergarten);

    void update(Kindergarten kindergarten);

    Paginated<Kindergarten> listByStatus(AppStatus status, int pageSize, int page);

    Paginated<Kindergarten> listByCityCodeAndStatus(String cityCode, AppStatus status,
                                                    int pageSize, int page);

    Paginated<Kindergarten> listByNameAndStatus(String name, AppStatus status, int pageSize,
                                                int page);

    Paginated<Kindergarten> listByProvinceCodeAndStatus(String provinceCode, AppStatus enabled,
                                                        int pageSize, int page);
}
